import {
  createWebHistory,
  createRouter,
  type RouteRecordRaw,
} from 'vue-router';

import login from '@/views/login/login.vue';
import chat from '@/views/chat/chat.vue';

const routes: RouteRecordRaw[] = [
  {
    path: '/',
    name: 'chat',
    component: chat,
  },
  {
    path: '/login',
    name: 'login',
    component: login,
  },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

router.beforeEach((to, from, next) => {
  // to: 即将要进入的目标路由对象
  // from: 当前导航正要离开的路由对象
  // next: 用于控制路由的跳转

  // 示例：验证用户是否登录
  const isLoggedIn = localStorage.getItem('token');
  if (to.name !== 'login' && !isLoggedIn) {
    // 如果用户未登录且要访问 About 页面，重定向到 Home 页面
    next({ name: 'login' });
  } else if (to.name === 'login' && isLoggedIn) {
    // 如果用户已登录且要访问 Login 页面，重定向到 Chat 页面
    next({ name: 'chat' });
  } else {
    // 继续路由跳转
    next();
  }
});

export default router;
